global loader                   ; ELF, 入口符号

MAGIC_NUMBER equ 0x1BADB002     ; 定义魔术数字常量
FLAGS        equ 0x0            ; multiboot的flags
CHECKSUM     equ -MAGIC_NUMBER  ; 计算checksum
                                ; (magic_number + checksum + flags = 0这是应该的)

section .text:                  ; 文本区的开始(代码片段)
align 4                         ; 代码必须四字节对齐
    dd MAGIC_NUMBER             ; 将magic number写入机器码
    dd FLAGS                    ; flags
    dd CHECKSUM                 ; checksum

loader:                         ; loader标签(定义作为linker脚本的入口点)
    mov eax, 0xCAFEBABE         ; 将0xcafebabe放入eax寄存器
.loop:
    jmp .loop                   ; 永远循环